Synchronization-aware Prefetching
نویسندگان
چکیده
Data prefetching is an important part in increasing the performance of the majority of programs written. Most of the designs for data prefetchers today try to find patterns in the data access. Other prefetchers attempt to correlate addresses, so that the access to one address is indicative of another access to a different address in the near future. Multi-threaded programs use locks or barriers to synchronize accesses to shared data. The data that is shared between threads of a program tend not to move much in memory, due to the desire to keep as much of the memory processor specific to avoid coherence misses and costs. The prefetcher that we propose in this paper takes advantage of how those programs use locks and the nature of shared data in general. In this project, we examine the effectiveness of using synchronization primitives as prefetch hints to improve performance in scientific workloads.
منابع مشابه
Context-Aware Prefetching at the Storage Server
In many of today’s applications, access to storage constitutes the major cost of processing a user request. Data prefetching has been used to alleviate the storage access latency. Under current prefetching techniques, the storage system prefetches a batch of blocks upon detecting an access pattern. However, the high level of concurrency in today’s applications typically leads to interleaved blo...
متن کاملGlobal-aware and multi-order context-based prefetching for high-performance processors
Data prefetching is widely used in high-end computing systems to accelerate data accesses and to bridge the increasing performance gap between processor and memory. Context-based prefetching has become a primary focus of study in recent years due to its general applicability. However, current context-based prefetchers only adopt the context analysis of a single order, which suffers from low pre...
متن کاملEnergy-Aware Data Prefetching for General-Purpose Programs
There has been intensive research on data prefetching focusing on performance improvement, however, the energy aspect of prefetching is relatively unknown. Our experiments show that although software prefetching tends to be more energy efficient, hardware prefetching outperforms software prefetching on most of the applications in terms of performance. This paper proposes several techniques to m...
متن کاملAlgorithms to Take Advantage of Hardware Prefetching
Cache-oblivious and cache-aware algorithms have been developed to minimize cache misses. Some of the newest processors have hardware prefetching where cache misses are avoided by predicting ahead of time what memory will be needed in the future and bringing that memory into the cache before it is used. It is shown that hardware prefetching permits the standard Floyd-Warshall algorithm for all-p...
متن کاملA Combined Hardware/Software Solution for Stream Prefetching in Multimedia Applications
Prefetch techniques may, in general, be applied to reduce the miss rate of a processor’s data cache and thereby improve the overall performance of the processor. More in particular, stream prefetch techniques can be applied to prefetch data streams that are often encountered in multimedia applications. Stream prefetch techniques exploit the fact that data from such streams are often accessed in...
متن کامل